﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Web;

//namespace MulticastService
//{
//    public class DataStream
//    {
//        public int id;
//        public DataStream(int i)
//        {
//            id = i;
//        }
//    }

//    public class SubstituteParameter
//    {
//        List<>
//    }

//    public class Source
//    {
//        public DataStream stream;
//        public Cluster cluster;
//        public int upload_serial;

//        public Cluster GetUploadPeerCluster()
//        {
//            Cluster temp = cluster;
//           while(temp.peer == null)
//            {
//               temp=temp.sub[]
//            }
//        }
//    }

//    public class Link
//    {
//        public DataStream stream;
//        public int upload_serial;
//    }

//    public class DataStreamCollection
//    {
//        public List<DataStream> data_streams;
//        public void AddStream(DataStream ds)
//        {
//            data_streams.Add(ds);
//        }
//        public int Count()
//        {
//            return data_streams.Count();
//        }
//        public static DataStreamCollection DefaultCollection(int stream_number)
//        {
//            DataStreamCollection dsc = new DataStreamCollection();
//            dsc.data_streams = new List<DataStream>();
//            for (int i = 1; i <= stream_number; i++)
//            {
//                dsc.AddStream(new DataStream(i));
//            }
//            return dsc;
//        }
//    }
    


//    public class SourceSub
//    {
//        public int sub_id;
//        public int serial;
//    }

//    public class Structure
//    {
//        public SourceSub[,] matrix;

//        public static Structure DefaultStructure(int k, int n)
//        {
//            Structure s=new Structure();
//            s.matrix=new SourceSub[k+1, n+1];
//            StructureMatrix sm =StructureMatrix.DefaultStructureMetrix(k, n);
//            int[] times_of_number = new int[n+1];
//            for(int i=1; i<=n ; i++)
//            {
//                for(int j=1; j<=n; j++)
//                {
//                    times_of_number[sm.data[i, j]]++;
//                    s.matrix[i, j].sub_id = times_of_number[sm.data[i, j]];
//                }
//            }
//            for(int i=1; i<=k ; i++)
//            {
//            }
//        }
//    }
//}